[问题菜,分数高] ASP+ACCESS问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 01:03:08
想做一个按月份查询,做了一个表单

年份:
<SELECT NAME="yr" size="4">
<OPTION VALUE="2009">2009
<OPTION VALUE="2010">2010
<OPTION VALUE="2011">2011
<OPTION VALUE="2012">2012
<OPTION VALUE="2013">2013

</SELECT><BR><BR>

月份:
<SELECT NAME="month" MULTIPLE size="6">
<OPTION VALUE="1">1月
<OPTION VALUE="2">2月
<OPTION VALUE="3">3月
<OPTION VALUE="4">4月
<OPTION VALUE="5">5月
<OPTION VALUE="6">6月
<OPTION VALUE="7">7月
<OPTION VALUE="8">8月
<OPTION VALUE="9">9月
<OPTION VALUE="10">10月
<OPTION VALUE="11">11月
<OPTION VALUE="12">12月
</SELECT><BR>&

ASP里面处理日期类型使用##号括起来就可以实现自动对比转换,你那句其实可以写成
"select * from table where dateField=#" & date & "#"
不过,这里需要注意几点,第一,在进入此SQL语句前,一定要输出下,看它到底是不是日期类型,最好是利用CDate和isDate函数来判断下,如果不是就组合成日期
第二个,如果想得到三个月的结果,可以写成
"select * from table where dateField=#" & date1 & "# or dateField=#" & date2 & "# or dateField=#" & date3 & "#"
不知道我这样说你明白了没?

又是字符处理和 循环数组的问题

首先你要把所有选中的项目改成一个字符串
比如选了678月,那么就用foreach循环,遍历每个选中项
得到例如 “6,7,8”这样的字符串AString

...where year(日期)=2009 and month(日期) in ("+AString+")";

连接成下面的sql就可以了:

select * from 收入支出表 where format(日期,'yyyy年mm月') in ('2009年6月','2009年7月','2009年8月')

---
以上,希望对你有所帮助。

不直到

用DW很简单啊,先查询记录集,做个表单,绑定数据库中字段到动态表单就行了